계리직공무원 컴퓨터 일반 기출문제·모의고사·오답노트·자동채점

2010년07월24일 4번

[과목 구분 없음]
해시(hash) 탐색에서 제산법(division)은 키(key) 값을 배열(array)의 크기로 나누어 그 나머지 값을 해시 값으로 사용하는 방법이다. 다음 데이터의 해시 값을 제산법으로 구하여 11개의 원소를 갖는 배열에 저장하려고 한다. 해시 값의 충돌(collision)이 발생하는 데이터를 열거해 놓은 것은?

  • ① 111, 112
  • ② 112, 222
  • ③ 113, 221
  • ④ 220, 222
(정답률: 69%)

문제 해설

제산법으로 해시 값을 구할 때, 키 값을 배열의 크기로 나눈 나머지 값을 해시 값으로 사용한다. 이 문제에서는 배열의 크기가 11이므로, 각 데이터의 키 값을 11로 나눈 나머지 값을 구하면 된다.

- 111을 11로 나눈 나머지는 1
- 112를 11로 나눈 나머지는 1
- 113을 11로 나눈 나머지는 2
- 220을 11로 나눈 나머지는 9
- 222을 11로 나눈 나머지는 0
- 221을 11로 나눈 나머지는 10

위 결과를 보면, 112와 222는 모두 해시 값이 1이 되므로 충돌이 발생한다. 따라서 정답은 "112, 222"이다.
AppStore에서 다운로드 APK 다운로드

연도별

진행 상황

0 오답
0 정답